Digital distribution of data, e.g. multimedia content, has been gaining more and more attention over the recent years. In this respect, it is known to distribute data on the basis of a descriptive file, also referred to as a metafile. Examples of such descriptive files are, e.g. a torrent file as used according to the BitTorrent protocol and a playlist file as used according to the HTTP Live streaming protocol. Typically, a recipient of the data will use information in the descriptive file as a basis for obtaining the data. Such information may be identifiers uniquely associated with pieces of the data to be received. Actual reception of the data may then occur from different sources, e.g. according to a P2P protocol. One example of a P2P protocol is the above-mentioned BitTorrent protocol.
In P2P protocols, content is shared among all users that are part of a P2P network. This content may therefore also be referred to as common content. For this purpose, a descriptive file may be provided for every content item available in the network. In this respect, “available” means that at least one member of the network, also referred to as a “peer”, is offering this content item. In the descriptive file, small pieces of the content item are addressed. When a user requests a certain content item, these pieces may be served from different members of the network. This has the advantage that the recipient of the content item does not have to rely on certain peers providing the pieces to be online the whole time until the content item is received completely. Every piece may be served from the most suitable location, e.g. from a location to which there is a data connection with low latency and high bit rate.
According to known P2P techniques, the descriptive file of a content item contains references to data pieces shared by all peers of a group, typically in the form of hash values of the different data pieces. This means that each data piece can be obtained from every peer of the group, once it becomes available at this peer. However, in some situations it may also be desirable that a content item is “individualized” for certain peers of the group. In such a case, the content item will include common data pieces which are shared by all peers of the group, and non-common data pieces which are shared by only some peers of the group. This may result in a peer trying to obtain a non-common data piece from another peer which is not sharing this non-common data piece. On the other hand, reducing the group of peers to include only peers sharing the same non-common data pieces, which means that they are receiving the same individualized content item, is often undesirable since it may result in a rather small group of peers and inefficient usage of the P2P mechanisms. For example, when distributing software a large portion of a content item may be the same for most recipients, but there may be differences with respect to some portions of the software, e.g. language packs, architecture-specific portions, or the like. Another example is multimedia content which is individualized by personalized advertisements. In each case, it is desirable to keep the group of participating peers as large as possible, thereby allowing for an efficient distribution of the common content.
Accordingly, there is a need for techniques which allow for efficiently communicating non-common data within a larger group of peers sharing the same common content.